home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 301-325 / disk_319 / cnewssrc / cnews.orig.lzh / notebook / dirs < prev    next >
Text File  |  1989-06-27  |  3KB  |  71 lines

  1. .DA "12 Dec 1988"
  2. .TL
  3. Directory Layout and PATH in C News
  4. .AU
  5. Henry Spencer
  6. .AI
  7. Dept. of Zoology
  8. University of Toronto
  9. .SH
  10. Intro
  11. .LP
  12. C News is constrained by historical compatibility with B News,
  13. but we also want to provide more flexibility for local news administrators.
  14. Accordingly, our directory organization is a little different from that
  15. of B News.
  16. We also make a lot of use of subordinate programs rather than lumping
  17. everything into a few giant lumps, and this means we need a notion of
  18. search paths.
  19. .LP
  20. See also ``Configuration Mechanisms in C News'', which talks about how
  21. to alter the defaults for these paths and such.
  22. .SH
  23. Directory organization
  24. .LP
  25. We retain the notion that a single directory (usually /usr/spool/news)
  26. is the top of the news-article database.
  27. We also use subdirectories of this directory, using names including `.' to
  28. ensure that they cannot collide with newsgroup names,
  29. to hold incoming batches and outgoing batch control files.
  30. One can debate whether this is the right place for these activities,
  31. but in practice /usr/spool/news tends to be where people want to put
  32. potentially-big traffic-handling directories,
  33. and it's not worth providing for separate variation of the location.
  34. .LP
  35. We do split the former /usr/lib/news into two, however.
  36. We reserve /usr/lib/news itself for control files that are logically
  37. part of the database.
  38. (It would make sense to put those under some subdirectory of
  39. /usr/spool/news, but that would break a lot of programs that think these
  40. files live in /usr/lib/news.)
  41. The programs\(emthose which don't need to be directly executable by
  42. users or \fIuucp\fR\(emlive in /usr/lib/newsbin.
  43. Actually, they usually live in subdirectories thereof,
  44. with each significant subsystem having its own subdirectory to keep the
  45. individual directories manageable in complexity.
  46. There are occasional general-purpose utilities at the top level;
  47. there aren't enough of them to be worth a separate directory.
  48. .SH
  49. PATH
  50. .LP
  51. In general, things are organized to permit sharing of /usr/lib/newsbin
  52. among multiple databases.
  53. It doesn't make sense to share /usr/lib/news among multiple databases,
  54. as much of the stuff that lives there is logically part of the database.
  55. .LP
  56. There is a possibility that an individual database will want to override
  57. specific decisions made by the programs, i.e. will want its own version
  58. of some programs.
  59. Accordingly, provision is made for a `bin' directory under /usr/lib/news.
  60. News software should set its PATH to something on the order of
  61. .DS
  62. /usr/lib/news/bin:/usr/lib/newsbin/xxx:/usr/lib/newsbin:/bin:/usr/bin
  63. .DE
  64. (See the ``Configuration Mechanisms'' document for how this
  65. should \fIactually\fR be written, to facilitate configuration changes
  66. and local customization.)
  67. That is, first look in the database's bin directory for overrides,
  68. then in some subdirectory of /usr/lib/newsbin for the subsystem's
  69. programs, then in newsbin itself for news-wide utilities,
  70. then in the standard system directories for standard Unix utilities.
  71.